﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Entities;
using Microsoft.ApplicationBlocks.Data;

namespace DAL
{
    public class ProvinciaDAL
    {
        public static string strConexion = System.Configuration.ConfigurationManager.ConnectionStrings["ConexionBaseDesarrollo"].ConnectionString;

        public static long Nuevo(Provincia parProvincia)
        {
            long intRetorno = 0;
            //(strConexion,"spProvinciaNuevo", parProvincia.NombreProvincia)
            return intRetorno;
        }

        public static void Modificar(Provincia parProvincia)
        {
            //(strConexion,"spProvinciaModificar",parProvincia.IDProvincia,parProvincia.NombreProvincia)
        }

        public static void Eliminar(long parIDProvincia)
        {
            //(strConexion,"SPProvinciaEliminar",parIDProvincia)
        }

        public static Provincia BuscarUno(long parIDProvincia)
        {
            try
            {
                DataTable dt = new DataTable();
                dt = SqlHelper.ExecuteDataset(strConexion, "spProvinciaBuscarUno", parIDProvincia).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    Provincia oProvincia = new Provincia();
                    DataRow dr = dt.Rows[0];
                    oProvincia.IDProvincia = long.Parse(dr["IDProvincia"].ToString());
                    oProvincia.NombreProvincia = dr["NombreProvincia"].ToString();
                    return oProvincia;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<Provincia> BuscarVarios(string parNombreProvincia)
        {
            try
            {
                List<Provincia> ListaProvincia = new List<Provincia>();
                DataTable dt = new DataTable();
                //Busco el objeto por sus propiedades, si encontro, retorna el objeto Negocio
                //(strConexion,"spProvinciaBuscarVarios",parNombreProvincia)
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Provincia oProvincia = new Provincia();
                        oProvincia.IDProvincia = long.Parse(dr["IDProvincia"].ToString());
                        oProvincia.NombreProvincia = dr["NombreProvincia"].ToString();
                        ListaProvincia.Add(oProvincia);
                    }
                    return ListaProvincia;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }



        public static List<Provincia> BuscarPorPais (int parIDPais)
        {
            try
            {
                List<Provincia> ListaProvincia = new List<Provincia>();
                DataTable dt = new DataTable();
                dt = SqlHelper.ExecuteDataset(strConexion, "spProvinciaBuscarPorPais", parIDPais).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Provincia oProvincia = new Provincia();
                        oProvincia.IDProvincia = long.Parse(dr["IDProvincia"].ToString());
                        oProvincia.NombreProvincia = dr["NombreProvincia"].ToString();
                        ListaProvincia.Add(oProvincia);
                    }
                    return ListaProvincia;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
